<template>
  <ul class="todo-list">
    <!-- completed: 完成的类名 6---- 铺设数据  设置样式-->
    <li
      :class="{ completed: item.isDone }"
      v-for="item in isShow"
      :key="item.id"
    >
      <div class="view">
        <input class="toggle" type="checkbox" v-model="item.isDone" />
        <label>{{ item.name }}</label>
        <button class="destroy" @click="delFn(item.id)"></button>
      </div>
    </li>
  </ul>
</template>

<script>
export default {
  // 5--父件--->子件
  props: ["arr", "isSel"],
  methods: {
    delFn(id) {
      // 6-删除事件（子件传父件 儿子想要删除父亲里的数据）
      // 6-1 为删除按钮绑定点击事件
      // 6-2 在父组件里 自定义删除事件
      // 6-3  子组件里 调用父亲的自定义删除事件 并把要删除的id传给父组件
      // 6-4   父组件里  删除事件的 处理函数里 书写具体的删除逻辑
      // 6-5   利用findindex  接收传过来id 找到对应的索引值  利用数组的splice 方法
      // 删除对应的数组元素
      console.log(id);
      this.$emit("removeFn", id);
    },
  },
  computed: {
    isShow() {
      if (this.isSel === "all") {
        return this.arr;
      } else if (this.isSel === "no") {
        return this.arr.filter((item) => item.isDone === false);
      } else {
        return this.arr.filter((item) => item.isDone === true);
      }
    },
  },
};
</script>